#ifndef G3_PNG_H
#define G3_PNG_H

#ifndef PNG_H
#include <png.h>
#endif

#include "log.h"
#include "tex_bitmap.h"
#include "file/f_stream.h"

namespace G3 {

	static void png_stream_reader (png_structp png_ptr, png_bytep data, png_size_t length);
	static void png_stream_writer (png_structp png_ptr, png_bytep data, png_size_t length);
	static void png_error_callback (png_structp png_ptr, png_const_charp error_msg);
	static void png_warning_callback (png_structp png_ptr, png_const_charp warning_msg);


	boost::shared_ptr<G3::BITMAP> LoadPNG (STREAM *Stream, LOG *Log);
    bool SavePNG (STREAM *stream, BITMAP *bitmap, LOG *log);
}

#endif
